﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using BusinessObject;
namespace YamahaTuanTrucService
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IBusinessService" in both code and config file together.
    [ServiceContract]
    public interface IBusinessService
    {
        [OperationContract]
        void DoWork();

        [OperationContract]
        bool AddPart(PhuTung pt);

        [OperationContract]
        PhuTung[] getListPart();

        [OperationContract]
        PhuTung getPartByID(string id);

        [OperationContract]
        void DeletePart(PhuTung pt);
        
        [OperationContract]
        bool UpdatePart(PhuTung pt);

        [OperationContract]
        Kho GetWareHouseByName(string tenkho);

        [OperationContract]
        bool UpdateRecord();


        [OperationContract]
        void DeleteAllImport(PhuTung pt);

        [OperationContract]
        void DeleteAllExport(PhuTung pt);

        [OperationContract]
        PhuTung GetPartWithImport(string id);

        [OperationContract]
        PhuTung GetPartWithExport(string id);


        [OperationContract]
        void UpdatePartWithImport(PhuTung p);

        [OperationContract]
        void UpdatePartWithExport(PhuTung p);

        [OperationContract]
        bool AddMaintenance(SuaChua sc);

        [OperationContract]
        NhanVien GetStaffByName(string name);


        [OperationContract]
        SuaChua[] GetMaintenanceWithBike();

        [OperationContract]
        SuaChua[] GetMaintenanceWithPart();

        [OperationContract]
        Xe GetBikeByID(string id);

        [OperationContract]
        Xe[] GetBikeList();

        [OperationContract]
        bool UpdateMaintenance(SuaChua sc);

        [OperationContract]
        bool DeleteMaintenance(SuaChua sc);
        [OperationContract]
        bool AddBike(Xe x);
        [OperationContract]
        bool DeleteBike(string id);

        [OperationContract]
        bool UpdateBike(Xe x);

        [OperationContract]
        NhanVien[] getListStaff();

        [OperationContract]
        KhachHang[] GetListCustomer();

        [OperationContract]
        Xe[] GetListBike();

        [OperationContract]
        SuaChua[] GetListMaintenance();
    }
}
